package com.zidongxiangxi.rabbit.producer.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * RabbitMq信息
 *
 * @author chenxudong
 * @date 2020/11/07
 */
public class Producer implements Serializable {
	/**
	 * 自增主键
	 */
	private Long id;

	/**
	 * 消息类型 0=即时消息；1=顺序消息
	 */
	private Integer type;

	/**
	 * 应用名称
	 */
	private String application;

	/**
	 * rabbit主机地址
	 */
	private String host;

	/**
	 * rabbit主机端口
	 */
	private Integer port;

	/**
	 * 虚拟主机
	 */
	private String virtualHost;

	/**
	 * 交换器
	 */
	private String exchange;

	/**
	 * 路由key
	 */
	private String routingKey;

	/**
	 * 消息id
	 */
	private String messageId;

	/**
	 * 消息的序列化数据
	 */
	private byte[] message;

	/**
	 * 发送状态， 0=预提交，1=发送中，2=发送失败
	 */
	private Integer sendStatus;

	/**
	 * 重试次数
	 */
	private Integer retryTimes;

	/**
	 * 最大重试次数
	 */
	private Integer maxRetryTimes;

	/**
	 * 尝试重发的时间
	 */
	private Date nextRetryTime;

	/**
	 * 创建时间
	 */
	private Date createTime;

	/**
	 * 修改时间
	 */
	private Date updateTime;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public String getApplication() {
		return application;
	}

	public void setApplication(String application) {
		this.application = application;
	}

	public String getHost() {
		return host;
	}

	public void setHost(String host) {
		this.host = host;
	}

	public Integer getPort() {
		return port;
	}

	public void setPort(Integer port) {
		this.port = port;
	}

	public String getVirtualHost() {
		return virtualHost;
	}

	public void setVirtualHost(String virtualHost) {
		this.virtualHost = virtualHost;
	}

	public String getExchange() {
		return exchange;
	}

	public void setExchange(String exchange) {
		this.exchange = exchange;
	}

	public String getRoutingKey() {
		return routingKey;
	}

	public void setRoutingKey(String routingKey) {
		this.routingKey = routingKey;
	}

	public String getMessageId() {
		return messageId;
	}

	public void setMessageId(String messageId) {
		this.messageId = messageId;
	}

	public byte[] getMessage() {
		return message;
	}

	public void setMessage(byte[] message) {
		this.message = message;
	}

	public Integer getSendStatus() {
		return sendStatus;
	}

	public void setSendStatus(Integer sendStatus) {
		this.sendStatus = sendStatus;
	}

	public Integer getRetryTimes() {
		return retryTimes;
	}

	public void setRetryTimes(Integer retryTimes) {
		this.retryTimes = retryTimes;
	}

	public Integer getMaxRetryTimes() {
		return maxRetryTimes;
	}

	public void setMaxRetryTimes(Integer maxRetryTimes) {
		this.maxRetryTimes = maxRetryTimes;
	}

	public Date getNextRetryTime() {
		return nextRetryTime;
	}

	public void setNextRetryTime(Date nextRetryTime) {
		this.nextRetryTime = nextRetryTime;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
}
